import 'package:flutter/material.dart';
import 'package:flutter_tutorial/official_samples/alert_dialog_widget.dart';
import 'package:flutter_tutorial/official_samples/align_widget.dart';
import 'package:flutter_tutorial/official_samples/animated_align_widget.dart';
import 'package:flutter_tutorial/official_samples/animated_builder_widget.dart';
import 'package:flutter_tutorial/official_samples/animated_container_widget.dart';
import 'package:flutter_tutorial/official_samples/animated_cross_fade_widget.dart';
import 'package:flutter_tutorial/official_samples/animated_default_text_style_widget.dart';
import 'package:flutter_tutorial/official_samples/animated_icon_widget.dart';
import 'package:flutter_tutorial/official_samples/animated_list_widget.dart';
import 'package:flutter_tutorial/official_samples/animated_opacity_widget.dart';
import 'package:flutter_tutorial/official_samples/animated_padding_widget.dart';
import 'package:flutter_tutorial/official_samples/animated_physical_model_widget.dart';
import 'package:flutter_tutorial/official_samples/animated_positioned_widget.dart';
import 'package:flutter_tutorial/official_samples/animated_size_widget.dart';
import 'package:flutter_tutorial/official_samples/animated_switcher_widget.dart';
import 'package:flutter_tutorial/official_samples/app_bar_widget.dart';
import 'package:flutter_tutorial/official_samples/aspect_ratio_widget.dart';
import 'package:flutter_tutorial/official_samples/backdrop_filter_widget.dart';
import 'package:flutter_tutorial/official_samples/banner_widget.dart';
import 'package:flutter_tutorial/official_samples/baseline_widget.dart';
import 'package:flutter_tutorial/official_samples/bottom_app_bar_widget.dart';
import 'package:flutter_tutorial/official_samples/bottom_navigation_bar_widget.dart';
import 'package:flutter_tutorial/official_samples/button_bar_widget.dart';
import 'package:flutter_tutorial/official_samples/card_widget.dart';
import 'package:flutter_tutorial/official_samples/center_widget.dart';
import 'package:flutter_tutorial/official_samples/check_box_widget.dart';
import 'package:flutter_tutorial/official_samples/checkbox_list_tile_widget.dart';
import 'package:flutter_tutorial/official_samples/chip_widget.dart';
import 'package:flutter_tutorial/official_samples/circle_avatar_widget.dart';
import 'package:flutter_tutorial/official_samples/circular_progress_indicator_widget.dart';
import 'package:flutter_tutorial/official_samples/clip_oval_widget.dart';
import 'package:flutter_tutorial/official_samples/clip_path_widget.dart';
import 'package:flutter_tutorial/official_samples/clip_r_rect_widget.dart';
import 'package:flutter_tutorial/official_samples/clip_rect_widget.dart';
import 'package:flutter_tutorial/official_samples/column_widget.dart';
import 'package:flutter_tutorial/official_samples/constrained_box_widget.dart';
import 'package:flutter_tutorial/official_samples/container_widget.dart';
import 'package:flutter_tutorial/official_samples/cupertino_action_sheet_widget.dart';
import 'package:flutter_tutorial/official_samples/cupertino_activity_indicator_widget.dart';
import 'package:flutter_tutorial/official_samples/cupertino_alert_dialog_widget.dart';
import 'package:flutter_tutorial/official_samples/cupertino_button_widget.dart';
import 'package:flutter_tutorial/official_samples/cupertino_context_menu_widget.dart';
import 'package:flutter_tutorial/official_samples/cupertino_date_picker_widget.dart';
import 'package:flutter_tutorial/official_samples/cupertino_navigation_bar_widget.dart';
import 'package:flutter_tutorial/official_samples/cupertino_page_scaffold_widget.dart';
import 'package:flutter_tutorial/official_samples/cupertino_slider_widget.dart';
import 'package:flutter_tutorial/official_samples/cupertino_switch_widget.dart';
import 'package:flutter_tutorial/official_samples/cupertino_tab_bar_widget.dart';
import 'package:flutter_tutorial/official_samples/cupertino_timer_picker_widget.dart';
import 'package:flutter_tutorial/official_samples/custom_paint_widget.dart';
import 'package:flutter_tutorial/official_samples/custom_scroll_view_widget.dart';
import 'package:flutter_tutorial/official_samples/data_table_widget.dart';
import 'package:flutter_tutorial/official_samples/date_picker_widget.dart';
import 'package:flutter_tutorial/official_samples/decorated_box_transition_widget.dart';
import 'package:flutter_tutorial/official_samples/decorated_box_widget.dart';
import 'package:flutter_tutorial/official_samples/default_text_style_widget.dart';
import 'package:flutter_tutorial/official_samples/dismissible_widget.dart';
import 'package:flutter_tutorial/official_samples/divider_widget.dart';
import 'package:flutter_tutorial/official_samples/draggable_widget.dart';
import 'package:flutter_tutorial/official_samples/drawer_widget.dart';
import 'package:flutter_tutorial/official_samples/dropdown_button_widget.dart';
import 'package:flutter_tutorial/official_samples/expanded_widget.dart';
import 'package:flutter_tutorial/official_samples/expansion_panel_list_widget.dart';
import 'package:flutter_tutorial/official_samples/fade_in_image_widget.dart';
import 'package:flutter_tutorial/official_samples/fitted_box_widget.dart';
import 'package:flutter_tutorial/official_samples/flat_button_widget.dart';
import 'package:flutter_tutorial/official_samples/flexible_widget.dart';
import 'package:flutter_tutorial/official_samples/floating_action_button_widget.dart';
import 'package:flutter_tutorial/official_samples/flow_widget.dart';
import 'package:flutter_tutorial/official_samples/flutter_logo_widget.dart';
import 'package:flutter_tutorial/official_samples/form_widget.dart';
import 'package:flutter_tutorial/official_samples/future_builder_widget.dart';
import 'package:flutter_tutorial/official_samples/gesture_detector_widget.dart';
import 'package:flutter_tutorial/official_samples/grid_view_widget.dart';
import 'package:flutter_tutorial/official_samples/hero_widget.dart';
import 'package:flutter_tutorial/official_samples/icon_button_widget.dart';
import 'package:flutter_tutorial/official_samples/icon_widget.dart';
import 'package:flutter_tutorial/official_samples/image_widget.dart';
import 'package:flutter_tutorial/official_samples/indexed_stack_widget.dart';
import 'package:flutter_tutorial/official_samples/inkwell_widget.dart';
import 'package:flutter_tutorial/official_samples/intrinsic_height_widget.dart';
import 'package:flutter_tutorial/official_samples/intrinsic_width_widget.dart';
import 'package:flutter_tutorial/official_samples/layout_builder_widget.dart';
import 'package:flutter_tutorial/official_samples/limited_box_widget.dart';
import 'package:flutter_tutorial/official_samples/linear_progress_indicator_widget.dart';
import 'package:flutter_tutorial/official_samples/list_tile_widget.dart';
import 'package:flutter_tutorial/official_samples/list_view_widget.dart';
import 'package:flutter_tutorial/official_samples/list_wheel_scroll_view_widget.dart';
import 'package:flutter_tutorial/official_samples/media_query_widget.dart';
import 'package:flutter_tutorial/official_samples/nested_scroll_view_widget.dart';
import 'package:flutter_tutorial/official_samples/opacity_widget.dart';
import 'package:flutter_tutorial/official_samples/outline_button_widget.dart';
import 'package:flutter_tutorial/official_samples/overflow_box_widget.dart';
import 'package:flutter_tutorial/official_samples/padding_widget.dart';
import 'package:flutter_tutorial/official_samples/page_view_widget.dart';
import 'package:flutter_tutorial/official_samples/physical_model_widget.dart';
import 'package:flutter_tutorial/official_samples/placeholder_widget.dart';
import 'package:flutter_tutorial/official_samples/popup_menu_button_widget.dart';
import 'package:flutter_tutorial/official_samples/positioned_transition_widget.dart';
import 'package:flutter_tutorial/official_samples/positioned_widget.dart';
import 'package:flutter_tutorial/official_samples/radio_list_tile_widget.dart';
import 'package:flutter_tutorial/official_samples/radio_widget.dart';
import 'package:flutter_tutorial/official_samples/raised_button_widget.dart';
import 'package:flutter_tutorial/official_samples/range_slider_widget.dart';
import 'package:flutter_tutorial/official_samples/refresh_indicator_widget.dart';
import 'package:flutter_tutorial/official_samples/reorderable_listview_widget.dart';
import 'package:flutter_tutorial/official_samples/rich_text_widget.dart';
import 'package:flutter_tutorial/official_samples/rotated_box_widget.dart';
import 'package:flutter_tutorial/official_samples/rotation_transition_widget.dart';
import 'package:flutter_tutorial/official_samples/row_widget.dart';
import 'package:flutter_tutorial/official_samples/safe_area_widget.dart';
import 'package:flutter_tutorial/official_samples/scaffold_widget.dart';
import 'package:flutter_tutorial/official_samples/scrollbar_widget.dart';
import 'package:flutter_tutorial/official_samples/semantics_widget.dart';
import 'package:flutter_tutorial/official_samples/show_about_dialog_widget.dart';
import 'package:flutter_tutorial/official_samples/show_bottom_sheet_widget.dart';
import 'package:flutter_tutorial/official_samples/show_cupertino_dialog_widget.dart';
import 'package:flutter_tutorial/official_samples/show_cupertino_modal_popup_widget.dart';
import 'package:flutter_tutorial/official_samples/show_dialog_widget.dart';
import 'package:flutter_tutorial/official_samples/show_general_dialog_widget.dart';
import 'package:flutter_tutorial/official_samples/show_license_page_widget.dart';
import 'package:flutter_tutorial/official_samples/show_menu_widget.dart';
import 'package:flutter_tutorial/official_samples/show_modal_bottom_sheet_widget.dart';
import 'package:flutter_tutorial/official_samples/show_search_widget.dart';
import 'package:flutter_tutorial/official_samples/simple_dialog_widget.dart';
import 'package:flutter_tutorial/official_samples/single_child_scroll_view_widget.dart';
import 'package:flutter_tutorial/official_samples/sized_box_widget.dart';
import 'package:flutter_tutorial/official_samples/sized_overflow_box_widget.dart';
import 'package:flutter_tutorial/official_samples/slider_widget.dart';
import 'package:flutter_tutorial/official_samples/sliver_app_bar_widget.dart';
import 'package:flutter_tutorial/official_samples/snack_bar_widget.dart';
import 'package:flutter_tutorial/official_samples/spacer_widget.dart';
import 'package:flutter_tutorial/official_samples/stack_widget.dart';
import 'package:flutter_tutorial/official_samples/stepper_widget.dart';
import 'package:flutter_tutorial/official_samples/stream_builder_widget.dart';
import 'package:flutter_tutorial/official_samples/switch_widget.dart';
import 'package:flutter_tutorial/official_samples/tab_bar_view_widget.dart';
import 'package:flutter_tutorial/official_samples/tab_bar_widget.dart';
import 'package:flutter_tutorial/official_samples/table_widget.dart';
import 'package:flutter_tutorial/official_samples/text_field_widget.dart';
import 'package:flutter_tutorial/official_samples/text_form_field_widget.dart';
import 'package:flutter_tutorial/official_samples/text_widget.dart';
import 'package:flutter_tutorial/official_samples/timer_picker_widget.dart';
import 'package:flutter_tutorial/official_samples/toggle_buttons_wodget.dart';
import 'package:flutter_tutorial/official_samples/tooltip_widget.dart';
import 'package:flutter_tutorial/official_samples/transform_widget.dart';
import 'package:flutter_tutorial/official_samples/vertical_divider_widget.dart';
import 'package:flutter_tutorial/official_samples/widget_span_widget.dart';
import 'package:flutter_tutorial/official_samples/wrap_widget.dart';
import 'package:flutter_tutorial/official_samples/absorb_pointer_widget.dart';
import 'package:flutter_tutorial/sample_detail.dart';

class OfficialSamples {
  factory OfficialSamples() => _getInstance();
  static OfficialSamples? _instance;

  static OfficialSamples _getInstance() {
    if (_instance == null) {
      _instance = OfficialSamples._();
    }
    return _instance!;
  }

  Map<String, WidgetBuilder> routes = Map();
  List<SampleDetail> sample = [];

  OfficialSamples._() {
    //路由
    routes[AbsorbPointerWidget.route] = (_) => AbsorbPointerWidget();
    routes[AlertDialogWidget.route] = (_) => AlertDialogWidget();
    routes[AlignWidget.route] = (_) => AlignWidget();
    routes[AnimatedAlignWidget.route] = (_) => AnimatedAlignWidget();
    routes[AnimatedBuilderWidget.route] = (_) => AnimatedBuilderWidget();
    routes[AnimatedContainerWidget.route] = (_) => AnimatedContainerWidget();
    routes[AnimatedCrossFadeWidget.route] = (_) => AnimatedCrossFadeWidget();
    routes[AnimatedDefaultTextStyleWidget.route] = (_) => AnimatedDefaultTextStyleWidget();
    routes[AnimatedListWidget.route] = (_) => AnimatedListWidget();
    routes[AnimatedIconWidget.route] = (_) => AnimatedIconWidget();
    routes[AnimatedOpacityWidget.route] = (_) => AnimatedOpacityWidget();
    routes[AnimatedPaddingWidget.route] = (_) => AnimatedPaddingWidget();
    routes[AnimatedPhysicalModelWidget.route] = (_) => AnimatedPhysicalModelWidget();
    routes[AnimatedPositionedWidget.route] = (_) => AnimatedPositionedWidget();
    routes[AnimatedSizeWidget.route] = (_) => AnimatedSizeWidget();
    routes[AnimatedSwitcherWidget.route] = (_) => AnimatedSwitcherWidget();
    routes[AppBarWidget.route] = (_) => AppBarWidget();
    routes[AspectRatioWidget.route] = (_) => AspectRatioWidget();
    routes[BackdropFilterWidget.route] = (_) => BackdropFilterWidget();
    routes[BannerWidget.route] = (_) => BannerWidget();
    routes[BaselineWidget.route] = (_) => BaselineWidget();
    routes[BottomAppBarWidget.route] = (_) => BottomAppBarWidget();
    routes[BottomNavigationBarWidget.route] = (_) => BottomNavigationBarWidget();
    routes[ButtonBarWidget.route] = (_) => ButtonBarWidget();
    routes[CardWidget.route] = (_) => CardWidget();
    routes[CenterWidget.route] = (_) => CenterWidget();
    routes[CheckBoxWidget.route] = (_) => CheckBoxWidget();
    routes[CheckboxListTileWidget.route] = (_) => CheckboxListTileWidget();
    routes[ChipWidget.route] = (_) => ChipWidget();
    routes[CircleAvatarWidget.route] = (_) => CircleAvatarWidget();
    routes[CircularProgressIndicatorWidget.route] = (_) => CircularProgressIndicatorWidget();
    routes[ClipOvalWidget.route] = (_) => ClipOvalWidget();
    routes[ClipPathWidget.route] = (_) => ClipPathWidget();
    routes[ClipRectWidget.route] = (_) => ClipRectWidget();
    routes[ClipRRectWidget.route] = (_) => ClipRRectWidget();
    routes[ColumnWidget.route] = (_) => ColumnWidget();
    routes[ConstrainedBoxWidget.route] = (_) => ConstrainedBoxWidget();
    routes[ContainerWidget.route] = (_) => ContainerWidget();
    routes[CupertinoActionSheetWidget.route] = (_) => CupertinoActionSheetWidget();
    routes[CupertinoActivityIndicatorWidget.route] = (_) => CupertinoActivityIndicatorWidget();
    routes[CupertinoAlertDialogWidget.route] = (_) => CupertinoAlertDialogWidget();
    routes[CupertinoButtonWidget.route] = (_) => CupertinoButtonWidget();
    routes[CupertinoContextMenuWidget.route] = (_) => CupertinoContextMenuWidget();
    routes[CupertinoDatePickerWidget.route] = (_) => CupertinoDatePickerWidget();
    routes[CupertinoNavigationBarWidget.route] = (_) => CupertinoNavigationBarWidget();
    routes[CupertinoPageScaffoldWidget.route] = (_) => CupertinoPageScaffoldWidget();
    routes[CupertinoSliderWidget.route] = (_) => CupertinoSliderWidget();
    routes[CupertinoSwitchWidget.route] = (_) => CupertinoSwitchWidget();
    routes[CupertinoTabBarWidget.route] = (_) => CupertinoTabBarWidget();
    routes[CupertinoTimerPickerWidget.route] = (_) => CupertinoTimerPickerWidget();
    routes[CustomScrollViewWidget.route] = (_) => CustomScrollViewWidget();
    routes[CustomPaintWidget.route] = (_) => CustomPaintWidget();
    routes[DataTableWidget.route] = (_) => DataTableWidget();
    routes[DatePickerWidget.route] = (_) => DatePickerWidget();
    routes[DecoratedBoxWidget.route] = (_) => DecoratedBoxWidget();
    routes[DecoratedBoxTransitionWidget.route] = (_) => DecoratedBoxTransitionWidget();
    routes[DefaultTextStyleWidget.route] = (_) => DefaultTextStyleWidget();
    routes[DismissibleWidget.route] = (_) => DismissibleWidget();
    routes[DividerWidget.route] = (_) => DividerWidget();
    routes[DraggableWidget.route] = (_) => DraggableWidget();
    routes[DrawerWidget.route] = (_) => DrawerWidget();
    routes[DropdownButtonWidget.route] = (_) => DropdownButtonWidget();
    routes[ExpandedWidget.route] = (_) => ExpandedWidget();
    routes[ExpansionPanelListWidget.route] = (_) => ExpansionPanelListWidget();
    routes[FadeInImageWidget.route] = (_) => FadeInImageWidget();
    routes[FittedBoxWidget.route] = (_) => FittedBoxWidget();
    routes[TextButtonWidget.route] = (_) => TextButtonWidget();
    routes[FlexibleWidget.route] = (_) => FlexibleWidget();
    routes[FloatingActionButtonWidget.route] = (_) => FloatingActionButtonWidget();
    routes[FlowWidget.route] = (_) => FlowWidget();
    routes[FlutterLogoWidget.route] = (_) => FlutterLogoWidget();
    routes[FormWidget.route] = (_) => FormWidget();
    routes[FutureBuilderWidget.route] = (_) => FutureBuilderWidget();
    routes[GestureDetectorWidget.route] = (_) => GestureDetectorWidget();
    routes[GridViewWidget.route] = (_) => GridViewWidget();
    routes[HeroWidget.route] = (_) => HeroWidget();
    routes[IconWidget.route] = (_) => IconWidget();
    routes[IconButtonWidget.route] = (_) => IconButtonWidget();
    routes[ImageWidget.route] = (_) => ImageWidget();
    routes[IndexedStackWidget.route] = (_) => IndexedStackWidget();
    routes[InkWellWidget.route] = (_) => InkWellWidget();
    routes[IntrinsicWidthWidget.route] = (_) => IntrinsicWidthWidget();
    routes[IntrinsicHeightWidget.route] = (_) => IntrinsicHeightWidget();
    routes[LimitedBoxWidget.route] = (_) => LimitedBoxWidget();
    routes[LayoutBuilderWidget.route] = (_) => LayoutBuilderWidget();
    routes[LinearProgressIndicatorWidget.route] = (_) => LinearProgressIndicatorWidget();
    routes[ListTileWidget.route] = (_) => ListTileWidget();
    routes[ListViewWidget.route] = (_) => ListViewWidget();
    routes[ListWheelScrollViewWidget.route] = (_) => ListWheelScrollViewWidget();
    routes[MediaQueryWidget.route] = (_) => MediaQueryWidget();
    routes[NestedScrollViewWidget.route] = (_) => NestedScrollViewWidget();
    routes[OpacityWidget.route] = (_) => OpacityWidget();
    routes[OutlinedButtonWidget.route] = (_) => OutlinedButtonWidget();
    routes[OverflowBoxWidget.route] = (_) => OverflowBoxWidget();
    routes[PaddingWidget.route] = (_) => PaddingWidget();
    routes[PageViewWidget.route] = (_) => PageViewWidget();
    routes[PhysicalModelWidget.route] = (_) => PhysicalModelWidget();
    routes[PlaceholderWidget.route] = (_) => PlaceholderWidget();
    routes[PopupMenuButtonWidget.route] = (_) => PopupMenuButtonWidget();
    routes[PositionedWidget.route] = (_) => PositionedWidget();
    routes[PositionedTransitionWidget.route] = (_) => PositionedTransitionWidget();
    routes[RadioWidget.route] = (_) => RadioWidget();
    routes[RadioListTileWidget.route] = (_) => RadioListTileWidget();
    routes[ElevatedButtonWidget.route] = (_) => ElevatedButtonWidget();
    routes[RangeSliderWidget.route] = (_) => RangeSliderWidget();
    routes[RefreshIndicatorWidget.route] = (_) => RefreshIndicatorWidget();
    routes[ReorderableListViewWidget.route] = (_) => ReorderableListViewWidget();
    routes[RichTextWidget.route] = (_) => RichTextWidget();
    routes[RotatedBoxWidget.route] = (_) => RotatedBoxWidget();
    routes[RotationTransitionWidget.route] = (_) => RotationTransitionWidget();
    routes[RowWidget.route] = (_) => RowWidget();
    routes[SafeAreaWidget.route] = (_) => SafeAreaWidget();
    routes[SemanticsWidget.route] = (_) => SemanticsWidget();
    routes[ScaffoldWidget.route] = (_) => ScaffoldWidget();
    routes[ScrollbarWidget.route] = (_) => ScrollbarWidget();
    routes[SimpleDialogWidget.route] = (_) => SimpleDialogWidget();
    routes[SingleChildScrollViewWidget.route] = (_) => SingleChildScrollViewWidget();
    routes[SizedBoxWidget.route] = (_) => SizedBoxWidget();
    routes[SizedOverflowBoxWidget.route] = (_) => SizedOverflowBoxWidget();
    routes[ShowAboutDialogWidget.route] = (_) => ShowAboutDialogWidget();
    routes[ShowBottomSheetWidget.route] = (_) => ShowBottomSheetWidget();
    routes[ShowCupertinoDialogWidget.route] = (_) => ShowCupertinoDialogWidget();
    routes[ShowCupertinoModalPopupWidget.route] = (_) => ShowCupertinoModalPopupWidget();
    routes[ShowDialogWidget.route] = (_) => ShowDialogWidget();
    routes[ShowGeneralDialogWidget.route] = (_) => ShowGeneralDialogWidget();
    routes[ShowLicensePageWidget.route] = (_) => ShowLicensePageWidget();
    routes[ShowMenuWidget.route] = (_) => ShowMenuWidget();
    routes[ShowModalBottomSheetWidget.route] = (_) => ShowModalBottomSheetWidget();
    routes[ShowSearchWidget.route] = (_) => ShowSearchWidget();
    routes[SliderWidget.route] = (_) => SliderWidget();
    routes[SliverAppBarWidget.route] = (_) => SliverAppBarWidget();
    routes[SnackBarWidget.route] = (_) => SnackBarWidget();
    routes[SpacerWidget.route] = (_) => SpacerWidget();
    routes[StackWidget.route] = (_) => StackWidget();
    routes[StepperWidget.route] = (_) => StepperWidget();
    routes[StreamBuilderWidget.route] = (_) => StreamBuilderWidget();
    routes[SwitchWidget.route] = (_) => SwitchWidget();
    routes[TabBarWidget.route] = (_) => TabBarWidget();
    routes[TabBarViewWidget.route] = (_) => TabBarViewWidget();
    routes[TableWidget.route] = (_) => TableWidget();
    routes[TextFieldWidget.route] = (_) => TextFieldWidget();
    routes[TextFormFieldWidget.route] = (_) => TextFormFieldWidget();
    routes[TextWidget.route] = (_) => TextWidget();
    routes[TimePickerWidget.route] = (_) => TimePickerWidget();
    routes[ToggleButtonsWidget.route] = (_) => ToggleButtonsWidget();
    routes[TooltipWidget.route] = (_) => TooltipWidget();
    routes[TransformWidget.route] = (_) => TransformWidget();
    routes[VerticalDividerWidget.route] = (_) => VerticalDividerWidget();
    routes[WidgetSpanWidget.route] = (_) => WidgetSpanWidget();
    routes[WrapWidget.route] = (_) => WrapWidget();

    //显示列表
    sample.add(SampleDetail(AbsorbPointerWidget.name, AbsorbPointerWidget.route, '吸收用户输入事件'));
    sample.add(SampleDetail(AlertDialogWidget.name, AlertDialogWidget.route, '对话框'));
    sample.add(SampleDetail(AlignWidget.name, AlignWidget.route, '对齐子控件'));
    sample.add(SampleDetail(AnimatedAlignWidget.name, AnimatedAlignWidget.route, '对齐动画'));
    sample.add(SampleDetail(AnimatedBuilderWidget.name, AnimatedBuilderWidget.route, '构建动画的通用小部件'));
    sample.add(SampleDetail(AnimatedContainerWidget.name, AnimatedContainerWidget.route, '在一段时间内逐渐改变其值的容器'));
    sample.add(SampleDetail(AnimatedCrossFadeWidget.name, AnimatedCrossFadeWidget.route, '淡入淡出动画'));
    sample.add(SampleDetail(AnimatedDefaultTextStyleWidget.name, AnimatedDefaultTextStyleWidget.route, '动画方式改变字体风格'));
    sample.add(SampleDetail(AnimatedIconWidget.name, AnimatedIconWidget.route, '带动画的Icon'));
    sample.add(SampleDetail(AnimatedListWidget.name, AnimatedListWidget.route, 'List item添加移除动画'));
    sample.add(SampleDetail(AnimatedOpacityWidget.name, AnimatedOpacityWidget.route, '透明度动画'));
    sample.add(SampleDetail(AnimatedPaddingWidget.name, AnimatedPaddingWidget.route, 'Padding动画'));
    sample.add(SampleDetail(AnimatedPhysicalModelWidget.name, AnimatedPhysicalModelWidget.route, '物理模型动画'));
    sample.add(SampleDetail(AnimatedPositionedWidget.name, AnimatedPositionedWidget.route, '定位动画'));
    sample.add(SampleDetail(AnimatedSizeWidget.name, AnimatedSizeWidget.route, 'Sized改变动画'));
    sample.add(SampleDetail(AnimatedSwitcherWidget.name, AnimatedSwitcherWidget.route, '渐隐过渡动画'));
    sample.add(SampleDetail(AppBarWidget.name, AppBarWidget.route, 'AppBar'));
    sample.add(SampleDetail(AspectRatioWidget.name, AspectRatioWidget.route, '长宽比'));
    sample.add(SampleDetail(BackdropFilterWidget.name, BackdropFilterWidget.route, '滤镜'));
    sample.add(SampleDetail(BannerWidget.name, BannerWidget.route, '显示一个斜的标签'));
    sample.add(SampleDetail(BaselineWidget.name, BaselineWidget.route, '根据Widget基线放置其Child的Widget。'));
    sample.add(SampleDetail(BottomAppBarWidget.name, BottomAppBarWidget.route, '固定的底部栏'));
    sample.add(SampleDetail(BottomNavigationBarWidget.name, BottomNavigationBarWidget.route, '底部导航栏'));
    sample.add(SampleDetail(ButtonBarWidget.name, ButtonBarWidget.route, '按钮栏'));
    sample.add(SampleDetail(CardWidget.name, CardWidget.route, '卡片'));
    sample.add(SampleDetail(CenterWidget.name, CenterWidget.route, '居中子控件'));
    sample.add(SampleDetail(CheckBoxWidget.name, CheckBoxWidget.route, '选择框'));
    sample.add(SampleDetail(CheckboxListTileWidget.name, CheckboxListTileWidget.route, 'ListTile 和 CheckBox的结合体'));
    sample.add(SampleDetail(ChipWidget.name, ChipWidget.route, 'Chip...'));
    sample.add(SampleDetail(CircleAvatarWidget.name, CircleAvatarWidget.route, '圆形头像'));
    sample.add(SampleDetail(CircularProgressIndicatorWidget.name, CircularProgressIndicatorWidget.route, '圆形进度条'));
    sample.add(SampleDetail(ClipOvalWidget.name, ClipOvalWidget.route, '椭圆裁切'));
    sample.add(SampleDetail(ClipPathWidget.name, ClipPathWidget.route, '自定义裁切路径'));
    sample.add(SampleDetail(ClipRectWidget.name, ClipRectWidget.route, '裁切组件到实际占用的矩形大小'));
    sample.add(SampleDetail(ClipRRectWidget.name, ClipRRectWidget.route, '裁切圆角'));
    sample.add(SampleDetail(ColumnWidget.name, ColumnWidget.route, '线性布局，列'));
    sample.add(SampleDetail(ConstrainedBoxWidget.name, ConstrainedBoxWidget.route, '对子控件添加额外约束'));
    sample.add(SampleDetail(ContainerWidget.name, ContainerWidget.route, '组合类容器'));
    sample.add(SampleDetail(CupertinoActionSheetWidget.name, CupertinoActionSheetWidget.route, 'iOS风格底部弹出框'));
    sample.add(SampleDetail(CupertinoActivityIndicatorWidget.name, CupertinoActivityIndicatorWidget.route, 'iOS进度条'));
    sample.add(SampleDetail(CupertinoAlertDialogWidget.name, CupertinoAlertDialogWidget.route, 'iOS风格对话框'));
    sample.add(SampleDetail(CupertinoButtonWidget.name, CupertinoButtonWidget.route, 'iOS风格按钮'));
    sample.add(SampleDetail(CupertinoContextMenuWidget.name, CupertinoContextMenuWidget.route, 'iOS风格长按菜单'));
    sample.add(SampleDetail(CupertinoDatePickerWidget.name, CupertinoDatePickerWidget.route, 'iOS风格日期选择器'));
    sample.add(SampleDetail(CupertinoNavigationBarWidget.name, CupertinoNavigationBarWidget.route, 'iOS风格导航栏'));
    sample.add(SampleDetail(CupertinoPageScaffoldWidget.name, CupertinoPageScaffoldWidget.route, 'iOS风格界面'));
    sample.add(SampleDetail(CupertinoSliderWidget.name, CupertinoSliderWidget.route, 'iOS风格滑动条'));
    sample.add(SampleDetail(CupertinoSwitchWidget.name, CupertinoSwitchWidget.route, 'iOS风格开关'));
    sample.add(SampleDetail(CupertinoTabBarWidget.name, CupertinoTabBarWidget.route, 'iOS风格Tab'));
    sample.add(SampleDetail(CupertinoTimerPickerWidget.name, CupertinoTimerPickerWidget.route, 'iOS风格时间选择'));
    sample.add(SampleDetail(CustomScrollViewWidget.name, CustomScrollViewWidget.route, '复杂滚动布局嵌套'));
    sample.add(SampleDetail(CustomPaintWidget.name, CustomPaintWidget.route, '自定义View'));
    sample.add(SampleDetail(DataTableWidget.name, DataTableWidget.route, '表数据'));
    sample.add(SampleDetail(DatePickerWidget.name, DatePickerWidget.route, '时间选择'));
    sample.add(SampleDetail(DecoratedBoxWidget.name, DecoratedBoxWidget.route, '装饰子控件的前景或背景'));
    sample.add(SampleDetail(DecoratedBoxTransitionWidget.name, DecoratedBoxTransitionWidget.route, '装饰子控件的前景或背景动画'));
    sample.add(SampleDetail(DefaultTextStyleWidget.name, DefaultTextStyleWidget.route, '为后代Text设置属性的Widget'));
    sample.add(SampleDetail(DismissibleWidget.name, DismissibleWidget.route, '拖动消失'));
    sample.add(SampleDetail(DividerWidget.name, DividerWidget.route, '分割线'));
    sample.add(SampleDetail(DraggableWidget.name, DraggableWidget.route, '可以拖拽Widget'));
    sample.add(SampleDetail(DrawerWidget.name, DrawerWidget.route, '左右可滑出的抽屉'));
    sample.add(SampleDetail(DropdownButtonWidget.name, DropdownButtonWidget.route, '左右可滑出的抽屉'));
    sample.add(SampleDetail(ExpandedWidget.name, ExpandedWidget.route, '填充布局'));
    sample.add(SampleDetail(ExpansionPanelListWidget.name, ExpansionPanelListWidget.route, '可扩展List'));
    sample.add(SampleDetail(FadeInImageWidget.name, FadeInImageWidget.route, '带动画的图片Widget'));
    sample.add(SampleDetail(FittedBoxWidget.name, FittedBoxWidget.route, 'child自适应布局，拉伸或填充等'));
    sample.add(SampleDetail(TextButtonWidget.name, TextButtonWidget.route, '扁平按钮'));
    sample.add(SampleDetail(FlexibleWidget.name, FlexibleWidget.route, '弹性布局'));
    sample.add(SampleDetail(FloatingActionButtonWidget.name, FloatingActionButtonWidget.route, '悬浮按钮'));
    sample.add(SampleDetail(FlowWidget.name, FlowWidget.route, '流布局'));
    sample.add(SampleDetail(FlutterLogoWidget.name, FlutterLogoWidget.route, 'Flutter Logo'));
    sample.add(SampleDetail(FormWidget.name, FormWidget.route, '表单验证'));
    sample.add(SampleDetail(FutureBuilderWidget.name, FutureBuilderWidget.route, '异步更新UI'));
    sample.add(SampleDetail(GestureDetectorWidget.name, GestureDetectorWidget.route, '手势检测'));
    sample.add(SampleDetail(GridViewWidget.name, GridViewWidget.route, '网格识图'));
    sample.add(SampleDetail(HeroWidget.name, HeroWidget.route, 'Hero动画'));
    sample.add(SampleDetail(IconWidget.name, IconWidget.route, 'Icon'));
    sample.add(SampleDetail(IconButtonWidget.name, IconButtonWidget.route, 'Icon 按钮'));
    sample.add(SampleDetail(ImageWidget.name, ImageWidget.route, '图片显示'));
    sample.add(SampleDetail(IndexedStackWidget.name, IndexedStackWidget.route, 'Indexed栈布局'));
    sample.add(SampleDetail(InkWellWidget.name, InkWellWidget.route, '水波纹效果', widgetType: 'Material'));
    sample.add(SampleDetail(IntrinsicWidthWidget.name, IntrinsicWidthWidget.route, '将它的子widget的宽度调整为其本身实际的宽度'));
    sample.add(SampleDetail(IntrinsicHeightWidget.name, IntrinsicHeightWidget.route, '将它的子widget的高度调整为其本身实际的高度'));
    sample.add(SampleDetail(LimitedBoxWidget.name, LimitedBoxWidget.route, '限定宽高布局'));
    sample.add(SampleDetail(LayoutBuilderWidget.name, LayoutBuilderWidget.route, '多屏布局适配'));
    sample.add(SampleDetail(LinearProgressIndicatorWidget.name, LinearProgressIndicatorWidget.route, '进度提示widget'));
    sample.add(SampleDetail(ListTileWidget.name, ListTileWidget.route, '标准的列表item'));
    sample.add(SampleDetail(ListViewWidget.name, ListViewWidget.route, '不可或缺的列表'));
    sample.add(SampleDetail(ListWheelScrollViewWidget.name, ListWheelScrollViewWidget.route, '轮子形状的列表'));
    sample.add(SampleDetail(MediaQueryWidget.name, MediaQueryWidget.route, '用于查询解析给定数据的媒体信息，window宽高/横竖屏/像素密度比等信息'));
    sample.add(SampleDetail(NestedScrollViewWidget.name, NestedScrollViewWidget.route, '复杂可滚动布局嵌套'));
    sample.add(SampleDetail(OpacityWidget.name, OpacityWidget.route, '透明度控制'));
    sample.add(SampleDetail(OutlinedButtonWidget.name, OutlinedButtonWidget.route, '带边框的按钮'));
    sample.add(SampleDetail(OverflowBoxWidget.name, OverflowBoxWidget.route, '溢出布局，让child可以超出父组件边界'));
    sample.add(SampleDetail(PaddingWidget.name, PaddingWidget.route, 'padding...'));
    sample.add(SampleDetail(PageViewWidget.name, PageViewWidget.route, '可横向，或竖向滑动的页面'));
    sample.add(SampleDetail(PhysicalModelWidget.name, PhysicalModelWidget.route, '物理效果小部件'));
    sample.add(SampleDetail(PlaceholderWidget.name, PlaceholderWidget.route, '占位'));
    sample.add(SampleDetail(PopupMenuButtonWidget.name, PopupMenuButtonWidget.route, '可弹出菜单按钮'));
    sample.add(SampleDetail(PositionedWidget.name, PositionedWidget.route, '定位位置控件'));
    sample.add(SampleDetail(PositionedTransitionWidget.name, PositionedTransitionWidget.route, '带动画的定位位置控件'));
    sample.add(SampleDetail(RadioWidget.name, RadioWidget.route, '单选控件'));
    sample.add(SampleDetail(RadioListTileWidget.name, RadioListTileWidget.route, '标准单选控件'));
    sample.add(SampleDetail(ElevatedButtonWidget.name, ElevatedButtonWidget.route, '带阴影效果的按钮'));
    sample.add(SampleDetail(RangeSliderWidget.name, RangeSliderWidget.route, '有两个值的滑动条'));
    sample.add(SampleDetail(RefreshIndicatorWidget.name, RefreshIndicatorWidget.route, '下拉刷新'));
    sample.add(SampleDetail(ReorderableListViewWidget.name, ReorderableListViewWidget.route, '可拖动位置的ListView'));
    sample.add(SampleDetail(RichTextWidget.name, RichTextWidget.route, '富文本'));
    sample.add(SampleDetail(RotatedBoxWidget.name, RotatedBoxWidget.route, '整体可旋转控件'));
    sample.add(SampleDetail(RotationTransitionWidget.name, RotationTransitionWidget.route, '旋转动画'));
    sample.add(SampleDetail(RowWidget.name, RowWidget.route, '线性布局，行'));
    sample.add(SampleDetail(SafeAreaWidget.name, SafeAreaWidget.route, '屏幕安全显示区域限制'));
    sample.add(SampleDetail(SemanticsWidget.name, SemanticsWidget.route, '注释Widget的Widget'));
    sample.add(SampleDetail(ScaffoldWidget.name, ScaffoldWidget.route, 'material主题视觉架构脚手架'));
    sample.add(SampleDetail(ScrollbarWidget.name, ScrollbarWidget.route, '滚动定位视觉提示'));
    sample.add(SampleDetail(SimpleDialogWidget.name, SimpleDialogWidget.route, '简单对话框'));
    sample.add(SampleDetail(SingleChildScrollViewWidget.name, SingleChildScrollViewWidget.route, '让child可滚动的控件'));
    sample.add(SampleDetail(SizedBoxWidget.name, SizedBoxWidget.route, '定义固定大小的区域'));
    sample.add(SampleDetail(SizedOverflowBoxWidget.name, SizedOverflowBoxWidget.route, 'SizedBox，带溢出布局效果'));
    sample.add(SampleDetail(ShowAboutDialogWidget.name, ShowAboutDialogWidget.route, '用于show 关于的标准对话框'));
    sample.add(SampleDetail(ShowBottomSheetWidget.name, ShowBottomSheetWidget.route, '用于show material风格的bottom sheet'));
    sample.add(SampleDetail(ShowCupertinoDialogWidget.name, ShowCupertinoDialogWidget.route, '用于show ios 风格的 dialog的方法'));
    sample.add(SampleDetail(ShowCupertinoModalPopupWidget.name, ShowCupertinoModalPopupWidget.route, '用于show ios 风格的底部弹出框'));
    sample.add(SampleDetail(ShowDialogWidget.name, ShowDialogWidget.route, '用于show dialog的方法'));
    sample.add(SampleDetail(ShowGeneralDialogWidget.name, ShowGeneralDialogWidget.route, '用于show 标准自定义dialog的方法'));
    sample.add(SampleDetail(ShowLicensePageWidget.name, ShowLicensePageWidget.route, '用于show 许可页面'));
    sample.add(SampleDetail(ShowMenuWidget.name, ShowMenuWidget.route, '用于show 菜单选项'));
    sample.add(SampleDetail(ShowModalBottomSheetWidget.name, ShowModalBottomSheetWidget.route, '用于show 从底部弹出的 bottom sheet'));
    sample.add(SampleDetail(ShowSearchWidget.name, ShowSearchWidget.route, 'show 标准的搜索框'));
    sample.add(SampleDetail(SliderWidget.name, SliderWidget.route, '滑动条'));
    sample.add(SampleDetail(SliverAppBarWidget.name, SliverAppBarWidget.route, '带特殊效果的AppBar'));
    sample.add(SampleDetail(SnackBarWidget.name, SnackBarWidget.route, '底部信息提示框'));
    sample.add(SampleDetail(SpacerWidget.name, SpacerWidget.route, '用于填充布局'));
    sample.add(SampleDetail(StackWidget.name, StackWidget.route, '叠层布局'));
    sample.add(SampleDetail(StepperWidget.name, StepperWidget.route, '步进布局'));
    sample.add(SampleDetail(StreamBuilderWidget.name, StreamBuilderWidget.route, '使用流控制ui'));
    sample.add(SampleDetail(SwitchWidget.name, SwitchWidget.route, '开关'));
    sample.add(SampleDetail(TabBarWidget.name, TabBarWidget.route, 'Tabbar标签'));
    sample.add(SampleDetail(TabBarViewWidget.name, TabBarViewWidget.route, 'TabBarView 页'));
    sample.add(SampleDetail(TableWidget.name, TableWidget.route, '表格布局'));
    sample.add(SampleDetail(TextFieldWidget.name, TextFieldWidget.route, '输入框'));
    sample.add(SampleDetail(TextFormFieldWidget.name, TextFormFieldWidget.route, '另一种输入框'));
    sample.add(SampleDetail(TextWidget.name, TextWidget.route, '字符显示'));
    sample.add(SampleDetail(TimePickerWidget.name, TimePickerWidget.route, '时间选择器'));
    sample.add(SampleDetail(ToggleButtonsWidget.name, ToggleButtonsWidget.route, '多个开关按钮'));
    sample.add(SampleDetail(TooltipWidget.name, TooltipWidget.route, '按钮提示信息'));
    sample.add(SampleDetail(TransformWidget.name, TransformWidget.route, '扭转效果'));
    sample.add(SampleDetail(VerticalDividerWidget.name, VerticalDividerWidget.route, '垂直分割线'));
    sample.add(SampleDetail(WidgetSpanWidget.name, WidgetSpanWidget.route, '图文混排！'));
    sample.add(SampleDetail(WrapWidget.name, WrapWidget.route, '自适应布局'));
  }
}
